package md.specialEqp;

import com.querydsl.core.annotations.QueryInit;
import lombok.*;
import md.cm.unit.Unit;
import md.specialEqp.inspect.Detail;
import md.system.User;
import org.fjsei.yewu.aop.hibernate.NodeIdBinder;
import org.fjsei.yewu.aop.hibernate.UnitNameBinder;
import org.fjsei.yewu.filter.SimpleReport;
import org.fjsei.yewu.filter.Uunode;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.search.engine.backend.types.Aggregable;
import org.hibernate.search.engine.backend.types.Sortable;
import org.hibernate.search.mapper.pojo.bridge.mapping.annotation.PropertyBinderRef;
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.*;

import jakarta.persistence.*;
import java.time.LocalDate;
import java.util.*;


/** 合法的检验机构列表。
 * 特殊 个性化定做的
 * 派生来自Unit :实际关系数据库的建模改成了，unit作为一个内置字段的模式，【数学关系的转置】 不采用JPA做关联来表现模型的逻辑关系。
*/


@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder(toBuilder=true)
@Entity
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL, region = "Fast")
public class IspAgency implements Uunode {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private UUID id;

    /**对应单位:  必须是企业的： Company company;
     * 【数学关系的转置】 原本JPA应该是派生关系做法。
     * */
    @OneToOne( fetch=FetchType.LAZY)
    @JoinColumn( referencedColumnName = "ID")
    private Unit  unit;

    /**检验机构的 资格 核准号码。
     */
    private String  apno;

     /**是否业务上可以接入使用本平台？
     * */
    private Boolean  enable;
    /**报检电话
     */
    private String  bjtel;
    /**报检的网址
     */
    private String  bjurl;

}


/* @数据库修改脚本：

* */